Aspectual Collaborations: Combining Modules and Aspects

نویسندگان

  • Karl J. Lieberherr
  • David H. Lorenz
  • Johan Ovlinger
چکیده

Complex behavior often resists clean modularization in object-oriented languages. Aspectoriented programming tackles this problem by providing ¤exible module boundaries that can span and partition classes. However, in order to achieve this ¤exibility, valuable modularity mechanisms, such as encapsulation and external composition, are lost. The ability to separately compile or reason about a modular unit is also compromised. We propose that this tradeoff is not necessary, and that by expressing aspects as part of our modules, we can restore lost modular properties while maintaining aspectual features. As a concrete demonstration, we present the main features of Aspectual Collaborations, and show how these interact to combine modularity with aspectual behavior. The expressiveness of Aspectual Collaborations, AspectJ, and Hyper/J are compared using a challenge problem, allowing us to estimate the effectiveness of the approach.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Combining Aspects and Modules Summary by Chosen Excerpts

We claim that it is not only possible – but also bene£cial – to combine powerful module constructs with aspect-oriented programming. By tempering the power of AOP with encapsulation boundaries maintained by a module system, the desirable qualities of both can be achieved, while tempering their respective weaknesses. Modules and Aspects are different approaches to a common goal of constructing l...

متن کامل

Combining Aspects and Modules

Modules and aspects are different approaches to a common goal of constructing large, complex software quickly. Unfortunately, neither is solely sufficient. We demonstrate that the differences between modules and aspects are not irreconcilable, and that a carefully crafted module system can cater to aspect-oriented features. We show that it is possible to combine the software-engineering feature...

متن کامل

Connectors for Reusable Aspects

Aspect oriented programming AOP controls tangling of concerns by isolating aspects that cross cut each other into building blocks Component based programming CBP supports software development by isolating reusable building blocks that can be assembled and connected in many di erent ways We show how AOP and CBP can be integrated by introducing a new component construct for programming class coll...

متن کامل

Programming with Aspectual Components

Aspect-oriented programming (AOP) controls tangling of concerns by isolating aspects that cross-cut each other into building blocks. Component-based programming (CBP) supports software development by isolating reusable building blocks that can be assembled and connected in many different ways. We show how AOP and CBP can be integrated by introducing a new component construct for programming cla...

متن کامل

A quantitative and qualitative assessment of aspectual feature modules for evolving software product lines

Feature-Oriented Programming (FOP) and Aspect-Oriented Programming (AOP) are programming techniques based on composition mechanisms, called refinements and aspects, respectively. These techniques are assumed to be good variability mechanisms for implementing Software Product Lines (SPLs). Aspectual Feature Modules (AFM) is an approach that combines advantages of feature modules and aspects to i...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • Comput. J.

دوره 46  شماره 

صفحات  -

تاریخ انتشار 2003